import React, { forwardRef, useState, useEffect } from 'react'
import './showinfopie.scss'
import * as echarts from "echarts";
const Showinfo = forwardRef((props, ref) => {
    const [infodata, setdata] = useState([])
    const getdata = () => {
        setdata(ref)

    }
    const drawlist = () => {
        let { name } = ref;
        return <h1 className='title'>{name}</h1>
    }

    const drawbar = () => {
        // console.log(ref);
        let { list,patient3 } = ref;
        var a = null
        a = Object.values(list)
        var list1 = ['荔枝炭疽病', '荔枝霜霉病', '荔枝丛枝病', '荔枝毛毡病', '荔枝霜疫霉病'];
        let piedata = a.map((id, i) => ({
            name1:patient3,
            name: list1[i],
            value: a[i],
        }));
        var datamax = piedata.sort((a, b) => {
            return b.value - a.value
        })

        // console.log(piedata);
        // console.log( Math.max.apply(Math,piedata.map(item => { return item.value })));
        var Mycharts = echarts.init(document.getElementById("pie"));
        // var list2 = a;
        // var myColor = ["#FFA483", "#F97F53", "#F45922", "#F45922", "#F45922"]
        let option = {
            backgroundColor: "#fff",
            title: {
                text: "作业风险预警",
                // subtext: "南丁格尔玫瑰图",
                x: "center",
            },
            tooltip: {
                trigger: "item",
                formatter: "{a} <br/>{b} : {c} ({d}%)",
            },
            toolbox: {
                show: true,
                feature: {
                    mark: { show: true },
                    dataView: { show: true, readOnly: false },
                    magicType: {
                        show: true,
                        type: ["pie", "funnel"],
                    },
                    restore: { show: true },
                    saveAsImage: { show: true },
                },
            },
            calculable: true,
            series: [
                {
                    name: "病患",
                    type: "pie",
                    radius: [30, 90],
                    center: ["45%", "50%"],
                    roseType: "area",
                    data: piedata
                },
            ],
        }
        Mycharts.setOption(option)
        window.onresize = () => {
            Mycharts.resize();
        }
    }

    const atteninfo = () => {
        let { list } = ref;
        var a = null
        a = Object.values(list)
        var list1 = [
         '荔枝炭疽病',
          '荔枝霜霉病',
           '荔枝丛枝病', 
           '荔枝毛毡病',
           '荔枝霜疫霉病'
        ];
        let piedata = a.map((id, i) => ({
            name: list1[i],
            value: a[i],
        }));
        var datamax = piedata.sort((a, b) => {
            return b.value - a.value
        })
        if (datamax[0].name == '荔枝炭疽病') {
            return (

                <div className='atteninfo'>
                    <h1 className='atttitle'>作业建议</h1>
                    <p className='info'>
                    防治荔枝炭疽病应以加强栽培管理，提高树体抗病力为主，辅以冬季清园及喷药保护的防治方法。

①　加强栽培管理，注意深翻改土，增施磷钾肥和有机肥，切忌偏施氮肥，以增强树势，提高树体本身的抗病力。

②　冬季清园，剪除病叶、枯梢，集中烧毁以减少菌源。在此基础上喷1次40%多硫悬浮剂500倍液。

③　叶面喷施氨态氮。生物学特性研究证明，尿素等氨态氮对病菌苗丝生长和孢子萌发有明显抑制作用，同时叶面喷施氨态氮、增加叶面吸收外源营养、植株叶片浓绿，提高植株生长势，从而增强抗病性。氨态氮肥使用浓度为0.5%一1%，与杀菌剂混合喷洒。

④　抓好防虫工作。荔枝峙等害虫刺吸造成的伤口，有利于孢子萌发侵人；此外，荔枝蜡还能携带分生孢子传播，成为扩大再侵染的途径，因而要注意及时防治

⑤　适时喷药保护。在春、夏、秋梢抽出后，叶片展开但还未转绿时，就应抓紧喷药。保果可在4月中。下旬或幼果5～10毫米大时开始喷药，每隔7～10天喷一次，连喷2～3次，可收到明显的防治效果。药剂可选用0.5%石灰倍量式波尔多液、70%甲基托布津1000倍液、45%代森铰水剂600倍液；40%多菌灵1000倍液、50%退菌特600倍液和0.3度石硫合剂交替喷洒，这样可防止抗药性。4月上、中旬重点保护着梢，此期又是荔枝螃猖撅期，可结合杀虫混合喷药，能收到防病灭虫的良好效果。    
                    </p>
                </div>
            )
            // (
            // )
        } else if (datamax[0].name == '荔枝霜霉病') {
            return (

                <div className='atteninfo'>
                    <h1 className='atttitle'>作业建议</h1>
                    <p className='info'>
                    ①　选用抗病良种。

②　加强栽培管理，适当稀植，采用高畦栽培：浇小水，严禁大水漫灌，雨天注意防漏，有条件的地区采用滴灌技术可较好地控制病害。

③　冬季清除果园枯枝落叶、杂草及树上烂果等，予以深埋或集中烧毁，可大量杀灭越冬病菌，结合深翻，把病果和病叶埋于土中。

④　有条件优先应用粉尘剂或烟雾剂防治。用0.5％等量式波尔多液或70％甲基托布津可湿性粉剂1000－1500倍液，50％多菌灵可湿性粉剂1000－1500倍液，在花蕾期、幼果期和果实近成熟期各喷药1次。可选用安全新药剂防治霜疫霉病。 </p>
                </div>
            )
        } else if (datamax[0].name == '荔枝丛枝病') {
            return (

                <div className='atteninfo'>
                    <h1 className='atttitle'>作业建议</h1>
                    <p className='info'>
                    ①　加强果园管理。增施腐熟有机肥料，合理灌溉，增强树势，提高树体抗病力。科学修剪，剪除病残枝，调节通风透光度。及时进行排水，保持果园适当温湿度。结合修剪，清理果园，将病残物及落叶等消除并且烧毁。减少病原。

②　严格进行检疫，禁止从病区引进苗木。

③　培育无病苗木，选择适宜的较抗病品种。

④　防治传播昆虫，主要有荔枝蝽象、白蛾蜡蝉和龙眼角颊木虱等。      </p>
                </div>
            )
        } else if (datamax[0].name == '荔枝毛毡病') {
            return (

                <div className='atteninfo'>
                    <h1 className='atttitle'>作业建议</h1>
                    <p className='info'>
                    ①　在冬季荔枝秋梢转绿老熟后，进行清园，先将果园内的各种杂草和枯枝落叶落果清除干净，再将树冠内部的阴枝和树冠外部的纤弱枝、干枯枝、过密枝、重叠枝、病虫枝剪去，特别要注意剪除带有毛毡病的枝叶，然后集中到园外深埋或烧毁。

②　树冠内外喷洒一次0.8~1.2波美度的石硫合剂水溶液，或15~20倍松碱合剂水溶液，或300~400倍45%石硫合剂晶体水溶液，或500~600倍29%石硫合剂水剂水溶液，均匀喷湿树冠内外所有的枝叶。       </p>
                </div>
            )
        } else if (datamax[0].name == '荔枝霜疫霉病') {
            return (

                <div className='atteninfo'>
                    <h1 className='atttitle'>作业建议</h1>
                    <p className='info'>
                    ①　加强果园管理。增施腐熟有机肥，合理灌水，深根培土，改善土壤，增强树势，提高树体抗病力。科学修剪，剪除病残枝及茂密枝，注意排水措施，保持果园适当的温湿度。结合修剪，清理果园，将病残物烧毁，减少病原。

②　保护和利用天敌。

③　选择适宜的较抗病品种。

④　化学防治。在花蕾期、幼果期和成熟期进行喷药防治可选用40%嘧霉胺悬浮剂600倍液，75%百菌清可湿性粉剂600倍液，80%大生M-45可湿性粉剂800倍液，64%杀毒矾可湿性粉剂400～500倍液。或70%甲基硫菌灵超微可湿性粉剂1000～1200倍液、50%苯菌灵可湿性粉剂1500倍液、40%多菌灵悬浮剂500～600倍液、58%瑞毒霉锰锌可湿性粉剂800倍液；25%瑞毒霉可湿性粉剂800倍液；90%乙磷铝（疫霜灵）粉剂500倍液；40%乙磷铝疫霜灵可湿性粉剂250～300倍液；在幼果期使用0.5%波尔多液。    </p>
                </div>
            )
        }
    }


    useEffect(() => {
        // console.log(infodata);
        getdata()
        drawbar()
    }, [])
    // console.log(ref);
    return (
        <div className='show'>
            {drawlist()}
            <div id='pie'></div>
            {atteninfo()}
        </div>
    )
})

export default Showinfo